The present invention relates generally to computer systems, and more specifically, to program structure-based blocking in a computer system.
Prefetching of instructions may be implemented in software and/or hardware during execution of software by a processor. In software, the runtime environment may prefetch instructions into an instruction cache of the processor during execution. The runtime environment keeps track of dynamic dependences between instructions in the software in order to determine what prefetching instructions need to be issued. Prefetching instructions may also be issued by hardware, such as a branch prediction module. However, support for prefetching in the runtime environment may be relatively expensive in terms of processor resources, and use of specialized hardware for prefetching may increase the area and power consumption of the processor.